package com.miya.demo.model.dto.wechat;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 模板消息dto
 *
 * @author CaiXiaowei
 * @date 2022/08/31
 */
@Data
public class TemplateMsgDTO {

    /**
     * 模板id
     */
    @NotBlank(message = "模板id不能为空")
    @ApiModelProperty(value = "模板id")
    private String templateId ;

    /**
     * 接收者（用户）的 openid
     */
    @NotBlank(message = "接收者（用户）的 openid不能为空")
    @ApiModelProperty(value = "接收者（用户）的 openid")
    private String toUser ;

    /**
     * 消息
     */
    @NotBlank(message = "消息")
    @ApiModelProperty(value = "消息")
    private String data;

    /**
     * 跳转页面（小程序/公众号）
     */
    @ApiModelProperty(value = "跳转页面（小程序/公众号）")
    private String url;

    /**
     * 消息类型 1-公众号 2-小程序
     */
    @NotNull(message = "消息类型不能为空")
    @ApiModelProperty(value = "消息类型 1-公众号 2-小程序")
    private Integer type ;

    /**
     * 语言类型 zh_CN(简体中文)、en_US(英文)、zh_HK(繁体中文)、zh_TW(繁体中文)，默认为zh_CN
     */
    @ApiModelProperty(value = "语言类型 zh_CN(简体中文)、en_US(英文)、zh_HK(繁体中文)、zh_TW(繁体中文)，默认为zh_CN")
    private String lang = "zh_CN";

    /**
     * 跳小程序所需数据
     */
    @ApiModelProperty(value = "跳小程序所需数据")
    private Miniprogram miniprogram ;

    /**
     * 跳转小程序类型：developer为开发版；trial为体验版；formal为正式版
     */
    @ApiModelProperty(value = "跳转小程序类型：developer为开发版；trial为体验版；formal为正式版")
    private String miniprogramState ;

    /**
     * 跳小程序所需数据
     */
    @Data
    public static class Miniprogram{

        /**
         * 小程序appId
         */
        @ApiModelProperty(value = "小程序appId")
        private String appId ;

        /**
         * 小程序跳转path
         */
        @ApiModelProperty(value = "小程序跳转path")
        private String pagepath;

    }

}
